﻿using System;
using System.Runtime.InteropServices;

namespace Kyoh.Lib.Win32API
{
    /// <summary>Win32API下でのリストビューの項目を表す構造体です。</summary>
    [StructLayout(LayoutKind.Sequential)]
    public struct ListViewItem
    {
        /// <summary>有効メンバを示すフラグ</summary>
        public int Mask;
        /// <summary>アイテムのインデックス</summary>
        public int ItemIndex;
        /// <summary>サブアイテムインデックス</summary>
        public int SubItemIndex;
        /// <summary>アイテムの状態・イメージ</summary>
        public int state;
        /// <summary>state のフラグ</summary>
        public int stateMask;
        /// <summary>アイテムの文字列</summary>
        public IntPtr Text;
        /// <summary>pszTextのサイズ</summary>
        public int TextMaxLength;
        /// <summary>イメージのインデックス</summary>
        public int iImage;
        /// <summary>アイテムの持つ32ビット値</summary>
        public IntPtr lParam;
        /// <summary>インデント</summary>
        public int iIndent;
        /// <summary>アイテムを受け取るタイルビューの ID</summary>
        public int iGroupId;
        /// <summary>このアイテムに対して表示されるタイルビューのカラムの数</summary>
        public int cColumns;
        /// <summary>カラムのインデックスリストの配列のポインタ。</summary>
        public IntPtr puColumns;
    }
}